Systems and methods for providing transcoded portions of a video

ABSTRACT

Multiple videos having individual time durations may be obtained, including a first video with a first time duration. The videos may include visual information defined by one or more electronic media files. An initial portion of the first time duration where the one or more electronic media are to be transcoded may be determined, including determining whether the first time duration is greater than a predefined threshold and if the first time duration is greater than the predefined threshold, determining the initial portion to be an initial time duration that is less than the first time duration. One or more transcoded media files may be generated during the initial portion. A request for the first video may be received from a client computing platform. In response to receipt of the request, the one or more transcoded media files may be transmitted to the client computing platform for display.

FIELD

The disclosure relates to systems and methods for transcoding mediafiles.

BACKGROUND

Users may capture high resolution versions of media content using acapture device. Media content may include one or more of video, photo,time-lapse, photo bursts, and/or other content. Capture devices mayinclude personal mobile devices, such as a smartphone or digital camera.Users may wish to share the content that they captured with otherpeople. Mobile devices and/or other capture devices may incorporatehigh-speed data connections and powerful processors, making it easierand faster to share media content directly from one device to another.Original media content may be stored as a digital file in a particularmedia format. Format compatibility with different capture devices may belimited by device specifications. As such, a stored media format ofmedia content may be incompatible for playback and/or consumption forsome or all other devices.

SUMMARY

One aspect of the disclosure relates to a system for transcoding mediafiles, in accordance with one or more implementations. The system mayobtain media content. Media content may include one or more of video,video segments, individual photos, time-lapse photos, photo bursts,and/or other media content. Although descriptions of one or moreimplementations of the system presented herein may be directed to videoand/or video segment type media content, it is noted that otherimplementations may be similarly configured to carry out the same orsimilar operations for other media content.

Individual video segments may include individual time durations.Individual video segments may include visual information defined by oneor more electronic media files. For example, the one or more electronicmedia files may define aspects of the individual videos including framesizes, frame rates, resolutions, bitrates (video bitrates and/or audiobitrates), and/or other aspects of the individual videos. The multiplevideos may include a first video with a first time duration. The firstvideo may be stored in a first video format. The system may determine aninitial portion of the first time duration where the one or moreelectronic media files defining the visual information of the firstvideo for the initial portion are to be transcoded. The system maydetermine whether the first time duration is greater than a predefinedthreshold. If the first time duration is greater than the predefinedthreshold, the system may determine the initial portion to be an initialtime duration that is less than the first time duration. The system maygenerate one or more transcoded media files defining the visualinformation in the first video during the initial portion. The systemmay be configured to perform bitrate conversion, CODEC conversion, framesize conversion, and/or other conversions in order to generate the oneor more transcoded media files defining the visual information duringthe initial portion of the first video. As such, the system may generatea second video format for the first video that may be compatible forplayback with one or more client computing platforms. The first videomay be requested for playback by a particular client computing platform.The request may include information about the client computing platform,including specifications of the client computing platform. In responseto receipt of the request, the system may effectuate transmission of theone or more transcoded media files compatible with the client computingplatform for display.

In some implementations, the system may include one or more servers. Theserver(s) may be configured to communicate with one or more clientcomputing platforms according to a client/server architecture. The usersof the system may access the system via client computing platform(s).The server(s) may be configured to execute one or more computer programcomponents. The computer program components may include one or more of avideo component, an authentication component, a determination component,a generation component, a request component, and/or other components.

The video component may be configured to obtain multiple vides. Themultiple videos may be included within a repository of videos. Arepository of images and/or videos may be available via the system. Therepository of images and/or videos may be stored within an electronicstorage, one or more server(s), one or more client computingplatform(s), external resources, a cloud, and/or any other storagelocation. Individual images and/or videos of the repository of imagesand/or videos may be stored in different locations. The repository ofimages and/or videos may be associated with different users. The videosmay include a compilation of videos, video segments, video clips, and/orstill images.

Individual videos may have individual time durations. For example, afirst video may include a first time duration. The first time durationmay be a duration represented by a unit of time, such as seconds,minutes, hours, some combination of more than one unit of time, and/orother units of time. For example, a time duration of a given video mayinclude 2 hours and 35 seconds of captured video footage.

Individual videos may include visual information defined by one or moreelectronic media files. In some embodiments, individual videos mayinclude audio information defined by the one or more electronic mediafiles. The various videos may be generated by image capture devices.Image capture devices may include a camera. The term camera may refer toany imaging device or sensor configured to capture, record, and/orconvey still and/or video imagery, which may be sensitive to visibleparts of the electromagnetic spectrum and/or invisible parts of theelectromagnetic spectrum (e.g., infrared, ultraviolet, and/or otherinvisible ranges).

The authentication component may be configured to authenticate a userassociated with client computing platform(s) accessing the repository ofimages and/or video segments via the system. The authenticationcomponent may manage accounts associated with users and/or consumers ofthe system. The user accounts may include user information associatedwith users and/or consumers of the user accounts. User information mayinclude information stored by server(s), client computing platform(s),and/or other storage locations.

The determination component may be configured to determine an initialportion of a first time duration of a first video where the one or moreelectronic media files defining the visual information of the firstvideo may be transcoded. The initial portion may have an initial timeduration. The initial portion may be a length of the first video (e.g.,the initial time duration of the initial portion may be the first timeduration) or the initial portion may be a length that is shorter (e.g.,less than) the first time duration. The determination component may beconfigured to determine a portion of the first video to transcode, wherethe portion may be less than the full length of the first video, theportion may be the full length of the first video, the portion may be acombination of different portions less than the full length of the firstvideo, and/or the portion may be one or more other portions of the firstvideo.

Determining the initial portion of the first time duration where the oneor more electronic media files defining the visual information of thefirst video are to be transcoded may include determining whether thefirst time duration is greater than a predefined threshold. Thepredefined threshold may be a length of time. The predefined thresholdmay be predefined by an administrator of the system. The predefinedthreshold may be predefined by the system. The predefined threshold mayvary for different videos based upon the one or more electronic mediafiles defining the visual information of the different videos.

If the first time duration is greater than the predefined threshold, thedetermination component may be configured to determine the initialportion of the first video to be an initial time duration that is lessthan the first time duration. That is, if the length of the first videois greater than the predefined threshold, the determination componentmay determine that a shorter portion (e.g., the initial portion) of thefirst video may be transcoded rather than transcoding the full length ofthe first video (e.g., the first time duration).

The generation component may be configured to generate one or moretranscoded media files defining the visual information in the firstvideo during the initial portion. The generation component may beconfigured to generate one or more transcoded media files that may becompatible with other client computing platforms in order to view thefirst video. For example, the generation component may be configured togenerate one or more transcoded media files defining the visualinformation by generating a lower quality/resolution version of theinitial portion of the first video than an original resolution (e.g., ahigh resolution version) of the first video, such that the lower qualityversion of the high definition video may be suitable for streaming inlow-bandwidth network conditions. As such, the generation component maybe configured to generate the second video format for the first videofrom the first video format of the first video such that the secondvideo format may be compatible for viewing from one or more clientcomputing platforms. In some implementations, media files may betranscoded and stored in electronic storage for retrieval at a latertime. In some implementations, media files may be transcoded in responseto receiving requests (see, e.g., request component) from one or moreclient computing platforms for consuming content.

The request component may be configured to receive a request for thefirst video from a client computing platform. The request may specify aparticular portion of the first video, the request may include a requestfor an entirety of the first video, and/or the request may include arequest for a preview of the first video. The particular portion may bespecified using start and/or end times for the portion requested for thefirst video. The request may include information pertaining to theclient computing platform that sent that request. As discussed above,different versions and/or formats of the first video may be transcodedto be compatible with different client computing platforms.

In some implementations, in response to receipt of the request, therequest component may be configured to retrieve one or more transcodedmedia files for the first video corresponding to portion(s) of the firstvideo corresponding to the request that may be compatible with theclient computing platform that sent the request. Upon retrieval, therequest component may be configured to effectuate transmission of theone or more transcoded media files to the client computing platform fordisplay of the visual information defined by the one or more transcodedmedia files.

In some implementations, in response to receipt of the request, thegeneration component may be configured to generate one or moretranscoded media files and the request component may be configured toretrieve the one or more transcoded media files. Upon retrieval, therequest component may be configured to effectuate transmission of theone or more transcoded media files to the client computing platform fordisplay of the visual information defined by the one or more transcodedmedia files.

These and other objects, features, and characteristics of the systemand/or method disclosed herein, as well as the methods of operation andfunctions of the related elements of structure and the combination ofparts and economies of manufacture, will become more apparent uponconsideration of the following description and the appended claims withreference to the accompanying drawings, all of which form a part of thisspecification, wherein like reference numerals designate correspondingparts in the various figures. It is to be expressly understood, however,that the drawings are for the purpose of illustration and descriptiononly and are not intended as a definition of the limits of theinvention. As used in the specification and in the claims, the singularform of “a”, “an”, and “the” include plural referents unless the contextclearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for transcoding media files, in accordancewith one or more implementations.

FIG. 2 illustrates an exemplary timeline of a video, in accordance withone or more implementations.

FIG. 3 illustrates an exemplary timeline of a video, in accordance withone or more implementations.

FIG. 4 illustrates an exemplary view of an implementation of the systemof FIG. 1, in accordance with one or more implementations.

FIG. 5 illustrates a method for transcoding media files, in accordancewith one or more implementations.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 100 that transcodes videos, in accordancewith one or more implementations. System 100 may obtain multiple videosegments. Individual video segments may include individual timedurations. Individual video segments may include visual informationdefined by one or more electronic media files. For example, the one ormore electronic media files may define aspects of the individual videosincluding frame sizes, frame rates, resolutions, bitrates (videobitrates and/or audio bitrates), and/or other aspects of the individualvideos. The multiple videos may include a first video with a first timeduration. The first video may be stored in a first video format. System100 may determine an initial portion of the first time duration wherethe one or more electronic media files defining the visual informationof the first video for the initial portion are to be transcoded. System100 may determine whether the first time duration is greater than apredefined threshold. If the first time duration is greater than thepredefined threshold, system 100 may determine the initial portion to bean initial time duration that is less than the first time duration.System 100 may generate one or more transcoded media files defining thevisual information in the first video during the initial portion. System100 may be configured to perform bitrate conversion, CODEC conversion,frame size conversion, and/or other conversions in order to generate theone or more transcoded media files defining the visual informationduring the initial portion of the first video. As such, system 100 maygenerate a second video format for the first video that may becompatible for playback with one or more client computing platforms. Thefirst video may be requested for playback by a particular clientcomputing platform. The request may include information about the clientcomputing platform, including specifications of the client computingplatform. In response to receipt of the request, system 100 mayeffectuate transmission of the one or more transcoded media filescompatible with the client computing platform for display.

As is illustrated in FIG. 1, system 100 may include one or moreserver(s) 102. Server(s) 102 may be configured to communicate with oneor more client computing platform(s) 104 according to a client/serverarchitecture. The users of system 100 may access system 100 via clientcomputing platform(s) 104. Server(s) 102 may be configured to executeone or more computer program components. The computer program componentsmay include one or more of video component 106, authentication component108, determination component 110, generation component 112, requestcomponent 114, and/or other components.

In some implementations, server(s) 102 may be configured to provideremote hosting of the features and/or functions of machine-readableinstructions 105 to one or more client computing platform(s) 104 thatmay be remotely located from server(s) 102. However, in someimplementations, one or more features and/or functions of server(s) 102may be attributed as local features and/or functions of one or moreclient computing platform(s) 104. For example, individual ones of clientcomputing platform(s) 104 may include machine-readable instructions (notshown in FIG. 1) comprising the same or similar components asmachine-readable instructions 105 of server(s) 102. Client computingplatform (s) 104 may be configured to locally execute the one or morecomponents that may be the same or similar to the machine-readableinstructions 105. One or more features and/or functions ofmachine-readable instructions 105 of server(s) 102 may be provided, atleast in part, as an application program that may be executed at a givenclient computing platform 104. For example, an image capturing devicecapturing a video may be configured to locally execute the one or morecomponents that may be the same or similar to the machine-readableinstructions 105 in or near real-time.

Client computing platform(s) 104 may include one or more of a cellulartelephone, a smartphone, a digital camera, a laptop, a tablet computer,a desktop computer, a television set-top box, smart TV, a gamingconsole, and/or other computing platforms.

Server(s) 102, client computing platform(s) 104, and/or externalresources 120 may be operatively linked via one or more electroniccommunication links. For example, such electronic communication linksmay be established, at least in part, via a network such as the Internetand/or other networks. It will be appreciated that this is not intendedto be limiting and that the scope of this disclosure includesimplementations in which server(s) 102, client computing platform(s)104, and/or external resources 120 may be operatively linked via someother communication media.

Video component 106 may be configured to obtain multiple videos. Themultiple videos may be included within a repository of videos. Arepository of images and/or videos may be available via system 100. Therepository of images and/or videos may be stored within electronicstorage 122, one or more server(s) 102, one or more client computingplatform(s) 104, external resources 120, a cloud, and/or other storagelocations. Individual images and/or videos of the repository of imagesand/or videos may be stored in different locations. The repository ofimages and/or videos may include images and/or videos associated withdifferent users. The videos may include one or more of a compilation ofvideos, video segments, video clips, and/or still images. While thepresent disclosure may be directed to previously captured videoscaptured by one or more image capturing devices, one or more otherimplementations of system 100, server(s) 102, and/or client computingplatform(s) 104 may be configured for other types of media items. Othertypes of media items may include one or more of audio files (e.g.,music, podcasts, audio books, and/or other audio files), multimediapresentations, slideshows, and/or other media files. The multiple videosmay be obtained from one or more storage locations associated withserver(s) 102, client computing platform(s) 104, and/or other storagelocations where video segments may be stored.

Individual videos may include multiple frames. Individual videos may becomposed of multiple still images, individually known as frames. Acombination of multiple frames may compose a moving picture, such asvideo content of a video. The video may include a playback of livecaptured video (e.g., captured via one or image capture devices).

Individual videos may have individual time durations. For example, afirst video may include a first time duration. The first time durationmay be a duration represented by a unit of time, such as seconds,minutes, hours, some combination of more than one unit of time, and/orother units of time. For example, a time duration of a given video mayinclude 2 hours and 35 seconds of captured video footage.

Individual videos may include visual information defined by one or moreelectronic media files. In some embodiments, individual videos mayinclude audio information defined by the one or more electronic mediafiles. The various videos may be generated by image capture devices.Image capture devices may include a camera. The term camera may refer toany imaging device or sensor configured to capture, record, and/orconvey still and/or video imagery, which may be sensitive to visibleparts of the electromagnetic spectrum and/or invisible parts of theelectromagnetic spectrum (e.g., infrared, ultraviolet, and/or otherinvisible ranges).

Individual videos may be stored in a first video format. The one or moreelectronic media files may define aspects of the individual videosincluding visual information, audio information, and/or other aspects ofthe individual videos. For example, the one or more electronic mediafiles may define aspects of the individual videos including frame sizes,frame rates, resolutions, bitrates (video bitrates and/or audiobitrates), and/or other aspects of the individual videos. The firstvideo format may include a format that the video was captured in,depending upon the image capture device and/or settings of the imagecapture device that captured the individual videos. Video formats mayinclude H.261, H.263, H.264, M-PEG, MPEG-1, MPEG-2, MPEG-4 AVI, Ogg,Theora, VC-1, other video formats, and/or combinations of video formats.The one or more electronic media files may define aspects of the firstvideo format. For example, the one or more electronic media files maydefine the first video format in high-definition with a 1980×1024 pixelresolution and 5.1 channels of audio. In this manner, the one or moreelectronic media files define the visual information and/or audioinformation that a consumer may view while consuming the video.

Different client computing platform(s) 104 (e.g., different smartphones,tablets, etc.) may include different specifications and/or capabilities.Further, different models of the same client computing platform(s) 104may include different specifications and/or capabilities. For example, afirst client computing platform may include specifications and/orcapabilities including a default display resolution, a defined displaysize, storage space, processing capabilities, and/or otherspecifications and/or capabilities, while a second client computingplatform may include some or all different specifications and/orcapabilities than the first client computing platform. Due to thediscrepancy of client computing platform specifications and/orcapabilities, some video formats may not be compatible for viewing withsome or all other client computing platforms. As such, the one or moreelectronic media files defining the visual information and/or audioinformation in the first video format of a particular video may betranscoded to define the visual information and/or the audio informationin a second video format such that the second video format may becompatible with the client computing platform receiving that particularvideo. For example, one client computing platform may include a highresolution display with high processing power, while another clientcomputing platform may include a lower resolution display with a lesspowerful processor and less memory.

Transcoding may refer to digital-to-digital conversion of data encodedin one format into another encoded format. In some embodiments,transcoding may be done in two steps. First, the data in the first videoformat may be decoded and converted to an intermediary format. Second,the data in the intermediary format may be encoded and converted to atarget format (e.g., the second video format).

The authentication component 108 may be configured to authenticate auser associated with client computing platform(s) accessing therepository of images and/or video segments via the system. Theauthentication component 108 may manage accounts associated with usersand/or consumers of system 100. The user accounts may include userinformation associated with users and/or consumers of the user accounts.User information may include information stored by server(s), clientcomputing platform(s), and/or other storage locations.

Determination component 110 may be configured to determine an initialportion of the first time duration where the one or more electronicmedia files defining the visual information of the first video are to betranscoded. The initial portion may have an initial time duration. Theinitial portion may be a length of the first video (e.g., the initialtime duration of the initial portion may be the first time duration) orthe initial portion may be a length that is shorter (e.g., less than)the first time duration. That is, determination component 110 may beconfigured to determine a portion of the first video to transcode, wherethe portion may be less than the full length of the first video, theportion may be the full length of the first video, the portion may be acombination of different portions less than the full length of the firstvideo, and/or the portion may be any other portion of the first video.

Determining the initial portion of the first time duration where the oneor more electronic media files defining the visual information of thefirst video are to be transcoded may include determining whether thefirst time duration is greater than a predefined threshold. Thepredefined threshold may be a length of time. The predefined thresholdmay be predefined by an administrator of system 100. The predefinedthreshold may be predefined by system 100. The predefined threshold mayvary for different videos based upon the one or more electronic mediafiles defining the visual information of the different videos.

If the first time duration is greater than the predefined threshold,determination component 110 may be configured to determine the initialportion of the first video to be an initial time duration that is lessthan the first time duration. That is, if the length of the first videois greater than the predefined threshold, determination component 110may determine that a shorter portion (e.g., the initial portion) of thefirst video may be transcoded rather than transcoding the full length ofthe first video (e.g., the first time duration). For example, referringto FIG. 2, if the first video has a length of 5 minutes and 30 seconds,then first time duration 200 of the first video would be 5 minutes and30 seconds. If 5 minutes and 30 seconds is greater than a predefinedthreshold of 3 minutes (e.g., predefined threshold 202), thendetermination component 110 may be configured to determine the initialportion of the first video to transcode to be an initial time durationthat is shorter in length than first time duration 200 (e.g., theinitial time duration should be less than 5 minutes and 30 seconds).

The initial time duration that is less than the first time duration maybe a random initial time duration that is less than the first timeduration (e.g., anywhere within the first time duration of the firstvideo, such as near the beginning, the middle, and/or the end of thefirst time duration of the first video), it may be a predefined timeduration (e.g., predefined by an administrator of system 100, system 100itself, etc.) that is less than the first time duration, it may be thepredefined threshold (e.g., anywhere within the first time duration ofthe first video, such as near the beginning, the middle, and/or the endof the first time duration of the first video), it may be determinedbased upon aspects of the first video, it may be a proportion of thefirst time duration (e.g., the first 10% of the first time duration, thelast 5% of the first time duration, and/or any proportion within thefirst time duration of the first video), and/or it may be any other timeduration that may be determined and/or predefined.

Referring back to FIG. 1, if the first time duration is equal to or lessthan the predefined threshold, determination component 110 may beconfigured to determine the initial portion of the first video to be aninitial time duration that is the same as and/or equivalent to the firsttime duration. That is, if the length of the first video is equal to orless than the predefined threshold, determination component 110 maydetermine that the full length of the first video may be transcoded to asingle transcoded media file rather than transcoding a portion that isless than the full length of the first video. For example, if the firstvideo has a length of 3 minutes and 30 seconds, then the first timeduration of the first video would be 3 minutes and 30 seconds. If 3minutes and 30 seconds is less than a predefined threshold of 5 minutes,then determination component 110 may be configured to determine theinitial portion of the first video to transcode to be an initial timeduration that is equal to the first time duration (e.g., 3 minutes and30 seconds). As such, determination component 110 may be configured todetermine that the one or more electronic media files defining thevisual information for the entire length and/or duration of the firstvideo are to be transcoded rather than just a part or portion of the oneor more electronic media files defining the visual information of thefirst video.

Generation component 112 may be configured to generate one or moretranscoded media files defining the visual information in the firstvideo during the initial portion. Generation component 112 may beconfigured to generate one or more transcoded media files that may becompatible with other client computing platforms in order to view thefirst video. For example, generation component 112 may be configured togenerate one or more transcoded media files defining the visualinformation by generating a lower quality/resolution version of theinitial portion of the first video than an original resolution (e.g., ahigh resolution version) of the first video, such that the lower qualityversion of the high definition video may be suitable for streaming inlow-bandwidth network conditions. In some implementations, media filesmay be transcoded by generation component 112 and stored in electronicstorage for retrieval at a later time. In some implementations, mediafiles may be transcoded by generation component 112 in response toreceiving requests (see, e.g., request component 114) from one or moreclient computing platforms for consuming content.

Generation component 112 may be configured to perform bitrateconversion, CODEC conversion, frame size conversion, and/or otherconversions in order to generate the one or more transcoded media filesdefining the visual information during the initial portion of the firstvideo. As such, generation component 112 may be configured to generatethe second video format for the first video from the first video formatof the first video such that the second video format may be compatiblefor viewing from one or more client computing platforms.

In some embodiments, if generation component 112 generates one or moretranscoded media files for the initial portion of the first video thathas an initial time duration that is less than the first time duration,generation component 112 may be configured to include a link within theone or more transcoded media files. The link may redirect a userconsuming the one or more transcoded media files on a client computingplatform to an end-point that may return one or more transcoded mediafiles for the remainder of the first video. In this manner, the userconsuming the one or more transcoded media files for the initial portionof the first video may initialize the link (e.g., by clicking, tapping,selecting the link via the client computing platform that the one ormore transcoded media files may be transmitted to, discussed below),upon consumption of the transcoded portion of the initial portion inorder to be redirected to one or more transcoded media files for theremainder of the first video. The user may initialize the link prior toconsuming the one or more transcoded media files for the initial portionof the first video, during consumption of the one or more transcodedmedia files for the initial portion of the first video, and/or at anyother time in order to access one or more transcoded media files for theremainder of the first video. Generation component 112 may be configuredto generate the one or more transcoded media files defining the visualinformation for the remainder of the first video at and/or nearreal-time to the user requesting such additional transcoded media filesvia the link, and/or may generate the one or more transcoded media filesdefining the visual information for the remainder of the first videoprior to the user requesting such additional transcoded media files viathe link, and/or at any other time.

In some embodiments, generation component 112 may be configured togenerate a playlist of the one or more transcoded media files, eitherfor the initial portion of the first video and/or for the additionaltranscoded media files. As such, the one or more transcoded media filesfor the initial portion of the first video may point to one or more ofthe additional transcoded media files, which may then point to any otheradditional transcoded media files, and so on for the remainder of theone or more transcoded media files for the first video.

Generation component 112 may be configured to store the one or moretranscoded media files defining the visual information in the firstvideo during the initial portion. Generation component 112 may beconfigured to store the one or more transcoded media files withinelectronic storage 122 and/or an external storage (not shown).Generation component 112 may be configured to store additionaltranscoded media files for the remainder of the first video withinelectronic storage 122 and/or an external storage (not shown).

Request component 114 may be configured to receive a request for thefirst video from a client computing platform. The request may specify aparticular portion of the first video and/or the request may include arequest for an entirety of the first video. The particular portion maybe specified using start and/or end times for the portion requested forthe first video. The request may include information pertaining to theclient computing platform that sent that request. As discussed above,different versions and/or formats of the first video may be transcodedto be compatible with different client computing platforms.

In response to receipt of the request, request component 114 may beconfigured to retrieve the one or more transcoded media files for thefirst video corresponding toe portion(s) of the first videocorresponding to the request that may be compatible with the clientcomputing platform that sent the request. Upon retrieval, requestcomponent 114 may be configured to effectuate transmission of the one ormore transcoded media files to the client computing platform for displayof the visual information defined by the one or more transcoded mediafiles.

In some embodiments, system 100 may be configured to define one or moresegment portions within the first video. Individual segment portions mayhave segment time durations. For example and referring to FIG. 3, if thefirst video has a first time duration of 3 minutes and 30 seconds (e.g.,first time duration 300), a first segment portion may have first segmenttime duration 302 of less than 3 minutes and 30 seconds (e.g., firstsegment time duration 302 may be the first 45 seconds of first timeduration 300, such that first segment time duration 302 spans from 0seconds-45 seconds of first time duration 300). A second segment portionmay have second segment time duration 304 of less than 3 minutes and 30seconds (e.g., second segment time duration 304 may span from 45seconds-1 minute and 30 seconds of first time duration 300). A sum ofthe individual segment time durations for the first video may be equalto the first time duration. Continuing the example above, a thirdsegment portion may have third segment time duration 306 of less than 3minutes and 30 seconds (e.g., third segment time duration 306 may spanfrom 1 minute and 30 seconds-3 minutes and 30 seconds of first timeduration 300). As such, the sum of the three segment portions may equal3 minutes and 30 seconds (e.g., first time duration 300).

Referring back to FIG. 1, system 100 may be configured to store the oneor more segment portions as separate individual segment portions of thefirst video. For example, the first segment portion may be stored as aseparate file than the first video, the second segment portion may bestored as a separate file than the first video and/or the first segmentportion, the third segment portion may be stored as a separate file thanthe first video, the first segment portion, and/or the second segmentportion, and so on.

If the first time duration of the first video is greater than thepredefined threshold, as discussed above, the initial time duration maybe a sum of an integer number of segment time durations. For example andreferring FIGS. 1 and 3, as discussed above, if first time duration 300(e.g., 3 minutes and 30 seconds) is greater than the predefinedthreshold (e.g., 3 minutes, for example), determination component 110may be configured to determine the initial time duration to be a sum ofan integer number of segment time durations. That is, determinationcomponent 110 may be configured to determine the initial time durationto be first segment time duration 302. Alternatively, determinationcomponent 110 may be configured to determine the initial time durationto be a combination of first segment time duration 302 and secondsegment time duration 304, or second segment time duration 304 and thirdsegment time duration 306, and/or any other combination of the segmenttime durations. As such, determination component 110 may be configuredto determine the initial portion of the first video to be the firstsegment portion (with its corresponding segment time duration), thesecond segment portion (with its corresponding segment time duration),the third segment portion (with its corresponding segment timeduration), and/or any combination thereof. As such, determinationcomponent 110 may be configured to determine the initial portion of thefirst video segment that is to be transcoded to be any number of theindividual segment portions (e.g., the sum of an integer number ofsegment portions and/or segment time durations). As such, generationcomponent 112 may be configured to generation one or more transcodedmedia files defining the visual information for the initial portion ofthe first video.

Referring back to FIG. 1, if the first time duration is greater than thepredefined threshold, as discussed above, in response to receipt of therequest for the first video from the client computing platform,generation component 112 may be configured to consecutively generate oneor more transcoded media files for remaining segment portions of thefirst video in order of the individual segment time durations. Upontransmission of the one or more transcoded media files for the initialportion of the first video to the client computing platform, generationcomponent 112 may be configured to generate one or more transcoded mediafiles for remaining segment portions (e.g., segment portions that werenot determined to be included as the initial portion, and thus were nottranscoded) of the first video in an order in which the individualsegment time durations span the first time duration. For example, as auser is viewing the one or more transcoded media files for the initialportion (e.g., the first segment portion) of the first video on theclient computing platform, generation component 112 may generate one ormore transcoded media files for the second segment portion, then thethird segment portion, until all of the first video has been transcoded.In this manner, system 100 may be configured to effectuate transmissionof the one or more transcoded media files for consecutive segmentportions relative to what request component 114 previously transmittedto the client computing platform.

If the first time duration is greater than the predefined threshold, asdiscussed above, in response to receipt of the request for the firstvideo from the client computing platform, generation component 112 maybe configured to simultaneously generate one or more transcoded mediafiles for multiple remaining segment portions of the first video. Upontransmission of the one or more transcoded media files for the initialportion of the first video to the client computing platform, generationcomponent 112 may be configured to simultaneously generate one or moretranscoded media files for multiple remaining segment portions (e.g.,segment portions that were not determined to be included as the initialportion, and thus were not transcoded) of the first video. For example,as a user is viewing the one or more transcoded media files for theinitial portion (e.g., the first segment portion) of the first video onthe client computing platform, generation component 112 maysimultaneously generate one or more transcoded media files for thesecond segment portion, the third segment portion, and/or any otherremaining segment portions. The second segment portion and the thirdsegment portion may be transcoded at the same time by generationcomponent 112. In this manner, system 100 may be configured toeffectuate transmission of the one or more transcoded media files formultiple remaining segment portions to the client computing platform asthey are transcoded in and/or near real-time. This may reduce transcodelatency more than other methods.

In some embodiments, generation component 112 may be configured togenerate the one or more transcoded media files for the first video uponrequest from the client computing platform for the first video (e.g.,request to play the first video, download the first video, and/or otherrequests) in and/or near real-time. System 100, via generation component112, may be configured to reduce startup latency by generating one ormore transcoded media files for the first few segments and/or portionsof the video at a slightly lower video quality and/or resolution than isrequired by the client computing platform requesting the video.Generation component 112 may then generate one or more transcoded mediafiles for the remainder of the video at a higher video quality and/orresolution and transmit that to the client computing platform.

Any generated transcoded media files may be stored for later use for thesame requesting client computing platform and/or other requesting clientcomputing platforms. As such, different versions of the first video indifferent formats and/or video quality outputs may be stored for variousclient computing platforms for future use.

In some implementations, in response to receipt of a request, generationcomponent 112 may be configured to generate one or more transcoded mediafiles and request component 114 may be configured to retrieve the one ormore transcoded media files from generation component 112. Uponretrieval, request component 114 may be configured to effectuatetransmission of the one or more transcoded media files to the clientcomputing platform for display of the visual information defined by theone or more transcoded media files.

Referring to FIG. 4, server(s) 102 may be configured to obtain multiplevideos from video repository 300. Video repository 400 may be includedwithin server(s) 102 and/or may be external to server(s) 102. A firstvideo may have been stored in a first video format, depending on theindividual client computing platform that captured the first video.Because the first video format may not be compatible with clientcomputing platform 104 ₁, client computing platform 104 ₂, and/or otherclient computing platform(s) 104 _(n), server(s) 102 may be configuredto transcode one or more portions of the individual video segments fromthe first video format to a second video format, such that playback ofthe first video may be compatible with various client computing platform104 ₁, client computing platform 104 ₂, and/or other client computingplatform(s) 104 _(n). For example, a request for the first video may bereceived by server(s) 102 from client computing platform 104 ₁. Therequest may include specifications regarding compatibility of videoformats for playback associated with client computing platform 104 ₁.Based upon the received request and/or the specifications, server(s) 102may be configured to obtain the first video in a second video format,which may include one or more previously generated transcoded mediafiles and/or one or more transcoded media files generated in or nearreal-time compatible with client computing platform 104 ₁. Server(s) 102may be configured to effectuate transmission of the one or moretranscoded media files defining the visual information in the secondvideo format to client computing platform 104 ₁ for display. If clientcomputing platform 104 ₂ and/or client computing platform 104 _(n)request the first video with particular specifications regardingcompatibility of video formats for playback purposes, server(s) 102 mayobtain one or more previously generated transcoded media files and/orgenerate one or more transcoded media files compatible for display withclient computing platform 104 ₂ and/or client computing platform 104_(n) in or near real-time and effectuate transmission of the transcodedmedia files for display in a similar manner.

Referring again to FIG. 1, in some implementations, server(s) 102,client computing platform(s) 104, and/or external resources 120 may beoperatively linked via one or more electronic communication links. Forexample, such electronic communication links may be established, atleast in part, via a network such as the Internet and/or other networks.It will be appreciated that this is not intended to be limiting, andthat the scope of this disclosure includes implementations in whichserver(s) 102, client computing platform(s) 104, and/or externalresources 120 may be operatively linked via some other communicationmedia.

A given client computing platform 104 may include one or more processorsconfigured to execute computer program components. The computer programcomponents may be configured to enable a producer and/or user associatedwith the given client computing platform 104 to interface with system100 and/or external resources 120, and/or provide other functionalityattributed herein to client computing platform(s) 104. By way ofnon-limiting example, the given client computing platform 104 mayinclude one or more of a desktop computer, a laptop computer, a handheldcomputer, a NetBook, a Smartphone, a gaming console, and/or othercomputing platforms.

External resources 120 may include sources of information, hosts and/orproviders of virtual environments outside of system 100, externalentities participating with system 100, and/or other resources. In someimplementations, some or all of the functionality attributed herein toexternal resources 120 may be provided by resources included in system100.

Server(s) 102 may include electronic storage 122, one or more processors124, and/or other components. Server(s) 102 may include communicationlines, or ports to enable the exchange of information with a networkand/or other computing platforms. Illustration of server(s) 102 in FIG.1 is not intended to be limiting. Servers(s) 102 may include a pluralityof hardware, software, and/or firmware components operating together toprovide the functionality attributed herein to server(s) 102. Forexample, server(s) 102 may be implemented by a cloud of computingplatforms operating together as server(s) 102.

Electronic storage 122 may include electronic storage media thatelectronically stores information. The electronic storage media ofelectronic storage 122 may include one or both of system storage that isprovided integrally (i.e., substantially non-removable) with server(s)102 and/or removable storage that is removably connectable to server(s)102 via, for example, a port (e.g., a USB port, a firewire port, etc.)or a drive (e.g., a disk drive, etc.). Electronic storage 122 mayinclude one or more of optically readable storage media (e.g., opticaldisks, etc.), magnetically readable storage media (e.g., magnetic tape,magnetic hard drive, floppy drive, etc.), electrical charge-basedstorage media (e.g., EEPROM, RAM, etc.), solid-state storage media(e.g., flash drive, etc.), and/or other electronically readable storagemedia. The electronic storage 122 may include one or more virtualstorage resources (e.g., cloud storage, a virtual private network,and/or other virtual storage resources). Electronic storage 122 maystore software algorithms, information determined by processor(s) 124,information received from server(s) 102, information received fromclient computing platform(s) 104, and/or other information that enablesserver(s) 102 to function as described herein.

Processor(s) 124 may be configured to provide information processingcapabilities in server(s) 102. As such, processor(s) 124 may include oneor more of a digital processor, an analog processor, a digital circuitdesigned to process information, an analog circuit designed to processinformation, a state machine, and/or other mechanisms for electronicallyprocessing information. Although processor(s) 124 is shown in FIG. 1 asa single entity, this is for illustrative purposes only. In someimplementations, processor(s) 124 may include a plurality of processingunits. These processing units may be physically located within the samedevice, or processor(s) 124 may represent processing functionality of aplurality of devices operating in coordination. The processor(s) 124 maybe configured to execute machine-readable instruction components 106,108, 110, 112, 114, and/or other components. The processor(s) 124 may beconfigured to execute components 106, 108, 110, 112, 114, and/or othercomponents by software; hardware; firmware; some combination ofsoftware, hardware, and/or firmware; and/or other mechanisms forconfiguring processing capabilities on processor(s) 124.

It should be appreciated that although components 106, 108, 110, 112,and 114 are illustrated in FIG. 1 as being co-located within a singleprocessing unit, in implementations in which processor(s) 124 includesmultiple processing units, one or more of components 106, 108, 110, 112,and/or 114 may be located remotely from the other components. Thedescription of the functionality provided by the different components106, 108, 110, 112, and/or 114 described herein is for illustrativepurposes, and is not intended to be limiting, as any of components 106,108, 110, 112, and/or 114 may provide more or less functionality than isdescribed. For example, one or more of components 106, 108, 110, 112,and/or 114 may be eliminated, and some or all of its functionality maybe provided by other ones of components 106, 108, 110, 112, and/or 114.As another example, processor(s) 124 may be configured to execute one ormore additional components that may perform some or all of thefunctionality attributed herein to one of components 106, 108, 110, 112,and/or 114.

FIG. 5 illustrates a method 500 that transcodes videos, in accordancewith one or more implementations. The operations of method 500 presentedbelow are intended to be illustrative. In some implementations, method500 may be accomplished with one or more additional operations notdescribed, and/or without one or more of the operations discussed.Additionally, the order in which the operations of method 500 areillustrated in FIG. 5 and described below is not intended to belimiting.

In some implementations, method 500 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 500 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 500.

At an operation 502, multiple videos may be obtained. The individualvideos may have individual time durations. The individual videos mayinclude visual information defined by one or more electronic mediafiles. The multiple videos may include a first video with a first timeduration. Operation 502 may be performed by a video component that isthe same as or similar to video component 106, in accordance with one ormore implementations.

At an operation 504, an initial portion of the first time duration wherethe one or more electronic media files of the first video are to betranscoded may be determined. Operation 504 may be performed by adetermination component that is the same as or similar to determinationcomponent 110, in accordance with one or more implementations.

At an operation 506, whether the first time duration is greater than apredefined threshold may be determined. Operation 506 may be performedby a determination component that is the same as or similar todetermination component 110, in accordance with one or moreimplementations.

At an operation 508, if the first time duration is greater than thepredefined threshold, the initial portion may be determined to be a timeduration less than the first time duration. Operation 508 may beperformed by a determination component that is the same as or similar todetermination component 110, in accordance with one or moreimplementations.

At an operation 510, one or more transcoded media files defining thevisual information in the first video during the initial portion may begenerated. Operation 510 may be performed by a generation component thatis the same as or similar to generation component 112, in accordancewith one or more implementations.

At an operation 512, a request for the first video may be received froma client computing platform. Operation 512 may be performed by a requestcomponent that is the same as or similar to request component 114, inaccordance with one or more implementations.

At an operation 514, in response to receipt of the request, the one ormore transcoded media files may be transmitted to the client computingplatform for display. Operation 514 may be performed by a requestcomponent that is the same as or similar to request component 114, inaccordance with one or more implementations.

Although the system(s) and/or method(s) of this disclosure have beendescribed in detail for the purpose of illustration based on what iscurrently considered to be the most practical and preferredimplementations, it is to be understood that such detail is solely forthat purpose and that the disclosure is not limited to the disclosedimplementations, but, on the contrary, is intended to covermodifications and equivalent arrangements that are within the spirit andscope of the appended claims. For example, it is to be understood thatthe present disclosure contemplates that, to the extent possible, one ormore features of any implementation can be combined with one or morefeatures of any other implementation.

What is claimed is:
 1. A system that transcodes videos, the systemcomprising: one or more physical computer processors configured bymachine-readable instructions to: obtain a video, the video having atime duration, the video including visual information defined by one ormore electronic media files, the video stored within the one or moreelectronic media files in a first video format; determine an initialportion of the time duration where the one or more electronic mediafiles defining the visual information of the video are to be transcoded,such determination, including: determining whether the time duration isgreater than a predefined threshold; and in response to the timeduration being greater than the predefined threshold, determining theinitial portion to be an initial time duration that is less than thetime duration; generate one or more transcoded media files defining thevisual information in the video during the initial portion, the initialportion of the video stored within the one or more transcoded mediafiles in a second video format different from the first video format;receive a request for the video from a client computing platform, therequest including specification regarding compatibility of video formatfor playback associated with the client computing platform; in responseto receipt of the request, select the one or more transcoded media filesfor transmission to the client computing platform; and effectuatetransmission of the one or more transcoded media files to the clientcomputing platform for display of the visual information defined by theone or more transcoded media files via the client computing platform. 2.The system of claim 1, wherein the one or more physical computerprocessors are further configured to: define one or more segmentportions within the video, individual segment portions having segmenttime durations, wherein a sum of the individual segment time durationsfor the video is equal to the time duration; and store the one or moresegment portions as separate individual segment portions of the video.3. The system of claim 2, wherein in response to the time duration beinggreater than the predefined threshold, the initial time duration is asum of an integer number of segment time durations.
 4. The system ofclaim 3, wherein in response to the first time duration being greaterthan the predefined threshold and in response to receipt of the request,one or more transcoded media files for remaining segment portions of thevideo are consecutively generated in order of the individual segmenttime durations.
 5. The system of claim 3, wherein in response to thetime duration being greater than the predefined threshold and inresponse to receipt of the request, one or more transcoded media filesfor multiple remaining segment portions of the video are simultaneouslygenerated.
 6. The system of claim 1, wherein determining the initialportion of the time duration includes, in response to the time durationbeing equal to or less than the predefined threshold, determining theinitial portion of the time duration to be the time duration.
 7. Thesystem of claim 1, wherein the initial time duration is a proportion ofthe time duration.
 8. The system of claim 1, wherein the initial timeduration is a predefined time duration of the time duration.
 9. Thesystem of claim 1, wherein the one or more transcoded media filesinclude a lower resolution version of the initial portion of the videothan a resolution of the video.
 10. The system of claim 1, wherein theone or more transcoded media files for the initial portion of the videoinclude a link configured to return one or more transcoded media filesfor a remaining portion of the video, the link configured to beinitialized by a user of the computing platform prior to or duringconsumption of the one or more transcoded media files for the initialportion of the video.
 11. A method that transcodes videos, the methodcomprising: obtaining a video, the video having a time duration, thevideo including visual information defined by one or more electronicmedia files, the video stored within the one or more electronic mediafiles in a first video format; determining an initial portion of thetime duration where the one or more electronic media files defining thevisual information of the video are to be transcoded, suchdetermination, including: determining whether the time duration isgreater than a predefined threshold; and in response to the timeduration being greater than the predefined threshold, determining theinitial portion to be an initial time duration that is less than thetime duration; generating one or more transcoded media files definingthe visual information in the video during the initial portion, theinitial portion of the video stored within the one or more transcodedmedia files in a second video format different from the first videoformat; receiving a request for the video from a client computingplatform, the request including specification regarding compatibility ofvideo format for playback associated with the client computing platform;in response to receipt of the request, selecting the one or moretranscoded media files for transmission to the client computingplatform; and effectuate transmission of the one or more transcodedmedia files to the client computing platform for display of the visualinformation defined by the one or more transcoded media files via theclient computing platform.
 12. The method of claim 11, furthercomprising: defining one or more segment portions within the video,individual segment portions having segment time durations, wherein a sumof the individual segment time durations for the video is equal to thetime duration; and storing the one or more segment portions as separateindividual segment portions of the video.
 13. The method of claim 12,wherein in response to the first time duration being greater than thepredefined threshold, the initial time duration is a sum of an integernumber of segment time durations.
 14. The method of claim 13, wherein inresponse to the time duration being greater than the predefinedthreshold and in response to receipt of the request, one or moretranscoded media files for remaining segment portions of the video areconsecutively generated in order of the individual segment timedurations.
 15. The method of claim 13, wherein in response to the timeduration being greater than the predefined threshold and in response toreceipt of the request, one or more transcoded media files for multipleremaining segment portions of the video are simultaneously generated.16. The method of claim 11, wherein determining the initial portion ofthe time duration includes, in response to the time duration being equalto or less than the predefined threshold, determining the initialportion of the time duration to be the time duration.
 17. The method ofclaim 11, wherein the initial time duration is a proportion of the timeduration.
 18. The method of claim 11, wherein the initial time durationis a predefined time duration of the time duration.
 19. The method ofclaim 11, wherein the one or more transcoded media files include a lowerresolution version of the initial portion of the video than a resolutionof the video.
 20. The method of claim 11, wherein the one or moretranscoded media files for the initial portion of the video include alink configured to return one or more transcoded media files for aremaining portion of the video, the link configured to be initialized bya user of the computing platform prior to or during consumption of theone or more transcoded media files for the initial portion of the video.